package userModule.service;


import userModule.daoImpl.Library_UserDaoImpl;
import vo.Library_User;

import java.util.List;
import java.util.Map;

public class UserService {

    Library_UserDaoImpl udi = new Library_UserDaoImpl();

    //注册用户的方法
    public String registerUser(Library_User user){

        //初始化返回的内容
        String backInfo = "";

        //判断此用户名是否已经被注册过
        Library_User selectedUser = udi.selectUserByUsername(user.getUsername());

        //如果已经被注册，直接返回提示信息
        if(null!=selectedUser){
            backInfo = "当前用户名不可用";
        }else{
            //如果没有被注册，执行添加用户操作
            //如果添加成功，给注册成功信息，如果添加失败，给注册失败信息
            if(udi.addUser(user)){
                backInfo = "注册成功";
            }else{
                backInfo = "注册失败";
            }
        }

        //返回提示信息
        return  backInfo;

    }

    /**
     * 登录的方法
     * @param username
     * @param password
     * @return
     */
    public Library_User login(String username,String password){
        return udi.selectUserByUsernameAndPassword(username, password);
    }


    /**
     * 修改用户信息，把结果返回给Controller
     * @param user
     * @return
     */
    public boolean modifyUser(Library_User user){
        return udi.modifyUser(user);
    }


    public List<Map<String,Object>> selectUsers(){
        return selectUsers(0,0);
    }

    public List<Map<String,Object>> selectUsers(int currentPageNumber,int dataCountPerPage){

        //通过当前页码和每页显示的数量计算出 当前页的第一条数据的索引位置
        int dataIndexCurrentPage = (currentPageNumber-1)*dataCountPerPage;

        //调用dao层，获取所有的数据
        return udi.selectUsers(dataIndexCurrentPage,dataCountPerPage);
    }

}
